From: Jeroen van der Heijden Date: Wed, 22 May 2019 10:00:52 +0000 (+0200) Subject: Fix `getn` in ctree X-Git-Tag: archive/raspbian/2.0.44-1+rpi1~1^2~3^2~6^2~10 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success/%22http:/www.example.com/cgi/success?a=commitdiff_plain;h=f6a9ce6b5710ec991aed5baf4519d972b9851c61;p=siridb-server.git Fix `getn` in ctree --- diff --git a/src/ctree/ctree.c b/src/ctree/ctree.c index e6fefe3c..0cf8ec5f 100644 --- a/src/ctree/ctree.c +++ b/src/ctree/ctree.c @@ -183,10 +183,17 @@ void * ct_getn(ct_t * ct, const char * key, size_t n) { size_t diff = 1; ct_node_t * nd; - uint8_t k = (uint8_t) *key; - uint8_t pos = k / BLOCKSZ; + uint8_t k, pos; + + if (!n) + { + return NULL; + } + + k = (uint8_t) *key; + pos = k / BLOCKSZ; - if (!n || pos < ct->offset || pos >= ct->offset + ct->n) + if (pos < ct->offset || pos >= ct->offset + ct->n) { return NULL; }